// 写一个js， 实现数组扁平化， 较少所有嵌套层级

// 思路：实现一级扁平化，然后递归调用，直到全部扁平化


export function flattenDeep1(arr: any[]): any[] {
  const res: any[] = []

  arr.forEach(item => {
    if(Array.isArray(item)) {
      const flatItem = flattenDeep1(item)
      flatItem.forEach(n => res.push(n))
    }else {
      res.push(item)
    }
  })

  return res
}


export function flattenDeep2(arr: any[]): any[] {
  let res: any[] = []
  arr.forEach(item => {
    if(Array.isArray(item)) {
      const flatItem = flattenDeep2(item)
      res = res.concat(flatItem)
    }else {
      res = res.concat(item)
    }
  })

  return res
}